﻿using Dapper.FluentMap.Mapping;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Real.Entidad
{
    public class Proveedor
    {
        public int id { get; set; }
        public string codigo { get; set; }
        public string razonsocial { get; set; }
        public string nombre { get; set; }
        public string direccion { get; set; }
        public string barrio { get; set; }
        public string codpostal { get; set; }
        public string telefono { get; set; }
        public string cuit { get; set; }
        public string ingbrutos { get; set; }
        public string email { get; set; }
        public double ingbrutostributo { get; set; }
        public int localidad_id { get; set; }
        //public virtual Localidad localidad { get; set; }
        public int tipoiva_id { get; set; }
        public virtual CondicionIva condicioniva { get; set; }
        public int actividad_id { get; set; }
        public virtual Actividad actividad { get; set; }
    }

    //Mapping propiedades de clase
    public class ProveedorMap : EntityMap<Proveedor>
    {
        public ProveedorMap()
        {
            Map(x => x.id).ToColumn("proid", caseSensitive: false);
            Map(x => x.codigo).ToColumn("procodigo", caseSensitive: false);
            Map(x => x.razonsocial).ToColumn("prorazonsocial", caseSensitive: false);
            Map(x => x.nombre).ToColumn("pronombre", caseSensitive: false);
            Map(x => x.direccion).ToColumn("prodireccion", caseSensitive: false);
            Map(x => x.barrio).ToColumn("probarrio", caseSensitive: false);
            Map(x => x.codpostal).ToColumn("procodpostal", caseSensitive: false);
            Map(x => x.telefono).ToColumn("protelefono", caseSensitive: false);
            Map(x => x.cuit).ToColumn("procuit", caseSensitive: false);
            Map(x => x.ingbrutos).ToColumn("proingbrutos", caseSensitive: false);
            Map(x => x.email).ToColumn("proemail", caseSensitive: false);
            Map(x => x.ingbrutostributo).ToColumn("proingbrutostributo", caseSensitive: false);
            Map(x => x.localidad_id).ToColumn("locid", caseSensitive: false);
            Map(x => x.tipoiva_id).ToColumn("tpiid", caseSensitive: false);
            Map(x => x.actividad_id).ToColumn("actid", caseSensitive: false);
        }
    }
}
